package com.mmall.util;

import java.math.BigDecimal;

/**
 * Created by geely
 */
public class BigDecimalUtil {

    private BigDecimalUtil(){

    }


    public static BigDecimal add(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.add(b2);
    }

    public static void main(String[] args) {
        BigDecimal add = add(100, 0);
        System.out.println(add);
    }

    public static BigDecimal sub(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.subtract(b2);
    }


    public static BigDecimal mul(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.multiply(b2);
    }

    public static BigDecimal div(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);//四舍五入,保留2位小数

        //除不尽的情况
    }



//    private  BigDecimalUtil(){}
//
//
//    //加法运算
//    public  static BigDecimal add(double v1,double v2){
//        BigDecimal b1 = new BigDecimal(v1);
//        BigDecimal b2 = new BigDecimal(v2);
//        return  b1.add(b2);
//    }
//
//
//    //减法运算
//    public  static BigDecimal sub(double v1,double v2){
//        BigDecimal b1 = new BigDecimal(v1);
//        BigDecimal b2 = new BigDecimal(v2);
//        return  b1.subtract(b2);
//    }
//
//    //乘法运算
//    public  static BigDecimal mul(double v1,double v2){
//        BigDecimal b1 = new BigDecimal(v1);
//        BigDecimal b2 = new BigDecimal(v2);
//        return  b1.multiply(b2);
//    }
//
//    //加法运算
//    //ROUND_HALF_UP:次方法为四舍五入
//    public  static BigDecimal div(double v1,double v2){
//        BigDecimal b1 = new BigDecimal(v1);
//        BigDecimal b2 = new BigDecimal(v2);
//
//        //利用的是小数点后两位,四舍五入方法
//        return  b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);
//
//    }
}
